1. Field of the Invention
This invention relates broadly to high speed telecommunication systems. More particularly, this invention relates to apparatus and methods for the modification of the data link channel identifier (DLCI) code which constitutes at least part of the packet address field of a packet in a frame relay system.
2. State of the Art
In packet switching systems, and in frame relay, portions of the packet address field of a transmitted packet received by a switching mechanism (e.g., central office) may need to be modified relay system, the DLCI associated with the incoming packet on its incoming physical link can differ from the DLCI on the outgoing physical link. This is because the number range of the (typically 14-bit) DLCI field of a particular link or group of links is very much smaller than the number of bits (typically 48 or 60) required for the overall directory address. Details of frame relay may be obtained by reference to Button, Brian, "Frame Relay White Paper"; Broadband '90, 14th Fiber Optic Communications and LAN Exposition, Sep. 24-30, 1990 (Baltimore, Md); and John Davies and Wai Ho, "Frame Relay Network-to-Network Interface White Paper"; Frame Relay Forum, Jul. 15, 1991 (San Francisco, Calif.).
The frame relay frame structure is set forth in a draft ANSI standard T1.6ca "Core Aspects of Frame Protocol for use with Frame Relay Bearer Service" which is hereby incorporated by reference herein in its entirety. According to the draft standard all frames start and end with a standard HDLC flag sequence (i.e., 1111110). The address field follows after the start flag and is defined in Section 2.3 as consisting of at least two octets (i.e., eight bit bytes), and up to four octets. The address field format is defined in Section 3.2. The first six bits of the first address field octet, and the first four bits of the next address field octet are used as a minimum to provide a ten bit data link connection identification (DLCI) code. Where a third octet is utilized in the address field (and a fourth octet is not used), the first six bits of the third octet are used as part of the DLCI code. However, where the fourth octet is used in the address field, the first seven bits of the third octet, and the first six bits of the fourth octet are used as part of the DLCI code. Thus, either ten, sixteen, or twenty-three bits may be used to comprise the DLCI address. In order to determine whether the frame address field has two, three, or four bytes, the least significant bit of each octet is utilized as an address field extension bit. The presence of a zero in the LSB of any address field octet is used to indicate that the address field contains another octet. Conversely, the presence of a one in the LSB of any address field octet is used to indicate that the address field octet containing the one in the LSB is the final octet of the address field.
Because the DLCI code contained in the address field of the frame must sometimes be changed, a mechanism for making such a change is required. Presently, it is standard to supply a large memory for receiving an entire packet of data. With the entire packet in memory, and with the DLC code contained in known locations, means are provided to overwrite the old DLCI code with a new DLCI code. The packet with the new DLCI code may then be read out from memory and relayed to its appropriate location.
While the standard techniques for modifying the DLCI code work well and are sufficient for many applications, they add significant delay (i.e., at least one frame of delay) to the transfer of data packets, and require large amounts of memory.